/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.viajaconmigo.i18n.impl;

import com.viajaconmigo.i18n.I18nManager;
import com.viajaconmigo.model.i18n.Traduccion;
import com.viajaconmigo.repository.i18n.I18nDAO;
import javax.inject.Inject;
import javax.inject.Named;
import org.springframework.transaction.annotation.Transactional;

/**
 *
 * @author Jose Manuel
 */
@Named
@Transactional(readOnly = true)
public class I18nManagerImpl implements I18nManager{
    
    @Inject
    private I18nPool poolTraductores;
    

    @Override
    public Traduccion getTraduccion(Object objeto, String locale) {       
        I18nDAO dao = poolTraductores.getPoolDAO().get(objeto.getClass());
        if (dao == null) {
            throw new RuntimeException("Traducción no mapeada en el Pool de Internacionalización");
        }
        return dao.getTraduccion(objeto, locale);
    }
    
}
